package SnakeGame;

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;

/**
 *
 * @author HOME
 */
public class MC extends Canvas implements Runnable{
    
    public byte canvasIndex = 20 ;
	public int pontuação ;
	
	private Cobra c ;
	private Ponto p ;
	public int[] resultado = new int[10] ;
	
	public MC()
	{
		this.setFullScreenMode(true) ;
		
		c = new Cobra(500);
		p = new Ponto(c) ;
		pontuação = 0 ;
		
		Thread t = new Thread(this) ;
		t.start() ;
	}

    
	protected void paint(Graphics g) 
	{
		g.setColor(0x000000) ;
		g.fillRect(0 , 0 , 500 , 500) ;
		switch(canvasIndex)
		{
		case 20 :
			p.render(g) ;
			c.render(g) ;
			g.setColor(0xffffff) ;
			g.drawString("Pontuação: " + pontuação , 10 , 10 , 0) ;
			break ;
		case 21 :
			p.render(g) ;
			c.render(g) ;
			g.setColor(0xffffff) ;
			g.drawString("Fim de jogo" , 80 , 20 , 0) ;
			g.drawString("Pontuação " + pontuação , 5 , 40 , 0) ;
			for(int i = 0 ; i < resultado.length ; i++)
			{
				g.drawString("Resultado " + (i+1), 60 , 70 + i*20 , 0) ;
				g.drawString("" + resultado[i] , 150 , 70 + i*20 , 0) ;
			}
			g.drawString("Reiniciar o jogo" , 90 , 280 , 0) ;
			break ;
		}
	}

	public void run() 
	{
		while(true)
		{
			switch(canvasIndex)
			{
			case 20 :
				c.guardandoDados(p , this) ;
				break ;
			}
			repaint() ;
			try {
				Thread.sleep(50) ;
			} catch (InterruptedException e) 
			{
				e.printStackTrace();
			}
		}
	}
	
	public void teclas(int tc)
	{
		switch(canvasIndex)
		{
		case 20 :
			if(c.ok == true)
			{
				if(tc == -1 && c.m != 3)
				{
					c.m = 1 ;
					c.ok = false ;
				}
				else if(tc == -2 && c.m != 1)
				{
					c.m = 3 ;
					c.ok = false ;
				}
				else if(tc == -3 && c.m != 4)
				{
					c.m = 2 ;
					c.ok = false ;
				}
				else if(tc == -4 && c.m != 2)
				{
					c.m = 4 ;
					c.ok = false ;
				}
			}
			break ;
		case 21 :
			if(tc == -5)
			{
				c.init() ;
				p.reset(c) ;
				pontuação = 0 ;
				canvasIndex = 20 ;
			}
			break ;
		}
	}

}
